# 定义数据（初始为字符串类型）
num1 = "100"  # 字符串类型的整数
num2 = "1.99"  # 字符串类型的浮点数

# 查看初始数据类型
print(type(num1))  # 输出：<class 'str'>，确认num1是字符串类型
print(type(num2))  # 输出：<class 'str'>，确认num2是字符串类型


# 强制类型转换示例
# 1. 字符串转整数（仅纯整数字符串可转）
print(type(int(num1)))  # 输出：<class 'int'>，将"100"转为整数类型

# 2. 字符串转浮点数（纯整数/小数字符串均可转）
print(type(float(num2)))  # 输出：<class 'float'>，将"1.99"转为浮点数类型
print(type(float(num1)))  # 输出：<class 'float'>，将"100"转为浮点数类型（结果为100.0）


# 其他类型转换示例
info = 12345  # 整数类型
print(type(info))  # 输出：<class 'int'>，确认info是整数类型


info1 = [11, "aa", True, 1.88]  # 列表类型（包含多种数据：整数、字符串、布尔值、浮点数）
print(type(info1))  # 输出：<class 'list'>，确认info1是列表类型

# 列表转字符串
print(type(str(info1)))  # 输出：<class 'str'>，将列表转为字符串类型
print(str(info1))  # 输出：'[11, "aa", True, 1.88]'，展示转换后的字符串形式

# 列表转元组（元组是不可修改的序列）
print(type(tuple(info1)))  # 输出：<class 'tuple'>，将列表转为元组类型
print(tuple(info1))  # 输出：(11, 'aa', True, 1.88)，展示转换后的元组形式


info2 = [11, 22, 33, 11, 11, 33, 44]  # 包含重复元素的列表
print(info2)  # 输出原列表：[11, 22, 33, 11, 11, 33, 44]

# 列表转集合（集合会自动去重，且无序）
print(set(info2))  # 输出去重后的集合：{11, 22, 33, 44}（顺序可能不同）
print(type(set(info2)))  # 输出：<class 'set'>，确认转换后是集合类型